import axios from 'axios'
//  封装axios
import qs from 'querystring'


//定义响应错误的函数
const errorHandle = (status,info) =>{
  switch(status){
      case 400:
          console.log("表示请求报文中存在语法错误");
          break;
      case 401:
          console.log("未经许可，需要通过HTTP认证");
          break;
      case 403:
          console.log("服务器拒绝该次访问（访问权限出现问题）");
          break;
      case 404:
          console.log("表示服务器上无法找到请求的资源");
          break;
      case 500:
          console.log("表示服务器在执行请求时发生了错误");
          break;
      case 503:
          console.log("表示服务器暂时处于超负载或正在进行停机维护");
          break;
      default:
          console.log(info);
          break;
  }
}
//创建实例
const instance= axios.create({
      // baseURL:'http://iwenwiki.com/',//请求的基本地址
      timeout:5000,//等待响应的时间是多少

})

// 请求拦截
instance.interceptors.request.use((config)=>{
  if(config.method === 'post'){
    config.data= qs.stringify(config.data)

  }
  console.log(config);
  return config 
},(error)=>{
    return Promise.reject(error)
})

instance.interceptors.response.use( (response)=>{
  return response
},(error)=>{
    console.log('添加响应拦截器',error);
    const {response} =error
    // response.status 粗我u状态 500服务器错误
    errorHandle(response.status,response.info)
console.log(response);

  return Promise.reject(error)
}

);

export default instance